from typing import Any, Optional

class Model:
    query: Any

    @classmethod
    def get(cls, id: Any) -> Any: ...

    def save(self) -> None: ...

    def delete(self) -> None: ...

    def __init__(self, **kwargs: Any) -> None: ...

def Column(
    type_: Any,
    primary_key: bool = False,
    nullable: bool = True,
    unique: bool = False,
    default: Any = None,
    index: bool = False,
    **kwargs: Any
) -> Any: ...

def String(length: int) -> Any: ...
def Integer() -> Any: ...
def BigInteger() -> Any: ...
def Float() -> Any: ...
def Boolean() -> Any: ...
def Date() -> Any: ...
def DateTime() -> Any: ...
def Time() -> Any: ...
def Text() -> Any: ...
def JSON() -> Any: ...

def ForeignKey(column: str) -> Any: ...
def relationship(
    target: str,
    backref: Optional[str] = None,
    lazy: str = 'select',
    **kwargs: Any
) -> Any: ...

def create_all() -> None: ...
def drop_all() -> None: ...
def session() -> Any: ...
def commit() -> None: ...
def rollback() -> None: ...
def close() -> None: ...
def init_app(app: Any) -> None: ...
